package game;



public class Puntuacion {
	private int nPuntos[][] = new int[10][2];
	private int nTotalPuntos;
	private int nIntentos;
	private int nTiro;
	private boolean sonidoSinAnotar=false;

	public int[][] getNPuntos() {
		return nPuntos;
	}

	public int getNTotalPuntos() {
		return nTotalPuntos;
	}

	public void iniciarPuntos() {
		for (int n = 0; n < nPuntos.length; n++)
			for (int m = 0; m < nPuntos[n].length; m++)
				nPuntos[n][m] = -1;
		nTotalPuntos = 0;
		nIntentos = 0;
		nTiro = 0;
	}

	public boolean anotarPuntos(int nBolosTirados,boolean bloqueado) {
		System.err.println("bloqueado -->"+bloqueado);
		if (nIntentos == 10)
			return false;
		if (!bloqueado)
			nTotalPuntos += nBolosTirados;
			if (!bloqueado)
				nPuntos[nIntentos][nTiro] = nBolosTirados;
			
		boolean bDevolver = false;
		if (getBolosTumbadosEnIntentos(nIntentos) == 10) {
			if (nTiro == 0)
				nTotalPuntos += 20;
			else
				nTotalPuntos += 10;
			bDevolver = true;
		}
		nTiro++;
		if (nTiro == 2)
			bDevolver = true;
		if (bDevolver) {
			if (!bloqueado)
			nIntentos++;
			nTiro = 0;
		}
		if (nBolosTirados>0 && bloqueado)
			sonidoSinAnotar=true;

		
		return bDevolver;
	}

	public boolean isSonidoSinAnotar() {
		return sonidoSinAnotar;
	}

	public void setSonidoSinAnotar(boolean sonidoSinAnotar) {
		this.sonidoSinAnotar = sonidoSinAnotar;
	}

	private int getBolosTumbadosEnIntentos(int nIntento) {
		int nSumar = 0;
		for (int valor : nPuntos[nIntento])
			if (valor != -1)
				nSumar += valor;
		return nSumar;
	}

	public boolean haFinalizado() {
		return nIntentos == 10;
	}

}
